#include "../Card.h"
#include "../Player.h"
#include "../Table.h"
#include "../Deck.h"
#include <assert.h>
#include <vector>
#include<iostream>


using namespace std;
int main(){

//Create a few players and have two of them as AI
Player p1;
Player p2;
player p3;
player p4;

Advisor* advisor;

p3.setAdvisor(advisor);
p4.setAdvisor(advisor);
assert(p3.

p1.vassals.push_back(p2);

    //Gets
    vector<Player*> getVassals();
    Deck* getHand();
    Deck* getArmy();
    bool getWarFlag();
    int getMaxHandSize();
    string getAddress();
    Player* getOwner();
    bool getIsVassal();
    int getFeedNumber();
    vector<Player*> getFeedVassal();
    Card* getMoveCard();
   
    //Sets
    void setAdvisor(Advisor* advisor);
    void setOwner(Player* czar);
    void setWarFlag(bool);
    void setAddress(string address);
    void setMoveCard(Card* card);
    void setMoveFeed(int numCards);
    //Functional
    void feedVassal(Player* vassal, int numberOfCards);
    void feedAllVassals();
    void addVassal(Player* newVassal);
    void refillHand();
    


    //Descriptive
    //int playerNumber;//mightnot be necessary

    //trash can:
    //int getHandCount(); we can just use "getHand()->size()"
    //int getMoveFeed();
 
  private:
    Advisor* ai;
    vector<Player*> vassals;
    Player* owner;
    vector<Player*> moveFeedVassals;
    Deck hand;
    Deck army;
    Card* moveCard;
    string address;
    int moveFeedNumber;
    int maxHandSize;
    bool dead;
    bool warFlag;

return 0;
}
